* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    list-style: none;
    text-decoration: none;
    user-select: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400;
}

em,
i {
    font-style: normal;
}

body {
    font-family: Meiryo,
        "HiraginoKakuGothicProW3",
        sans-serif;
    background-color: #e74c3c;
    animation: bg-color 10 sinfinite;
    -webkit-animation: bg-color 10s infinite;
}

.container {
    width: 40vw;
    height: 70vh;
    margin: 100px auto 0;
    display: flex;
    justify-content: center;

    .redpacket {
        width: 60%;
        height: 100%;
        background: linear-gradient(to bottom, #FF512F, #DD2476);
        border-radius: 16px;
        display: flex;
        align-items: center;
        flex-direction: column;
        box-shadow: 30px 20px 30px rgba(255, 0, 0, .5);
        transition: all linear .5s;

        .content {
            display: none;
            width: 100%;
            height: 100%;
            transition: all linear .5s;
            opacity: 0;

            .top {
                width: 100%;
                height: 100px;
                text-align: center;
                margin-top: 130px;
                margin-left: 12px;

                .title {
                    font-size: 3rem;
                    margin-top: 60px;
                    letter-spacing: 24px;
                    color: #fedba1;
                }
            }

            .bottom {
                position: relative;
                width: 100%;
                height: 200px;
                display: flex;
                justify-content: center;
                margin-top: 100px;
                overflow: hidden;

                .open {
                    position: relative;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    width: 8rem;
                    height: 8rem;
                    font-size: 3.5rem;
                    font-weight: 500;
                    border-radius: 50%;
                    background: #fdd798;
                    cursor: pointer;
                    z-index: 2;
                }

                .rotate {
                    animation: rotate linear .3s infinite;
                }

                .line {
                    position: absolute;
                    bottom: 60%;
                    left: -8px;
                    width: 104%;
                    height: 140px;
                    border: 2px solid rgba(66, 71, 71, .3);
                    box-shadow: 1px 3px 10px rgba(0, 0, 0, .3);
                    border-left: 0;
                    border-right: 0;
                    border-top: 0;
                    border-radius: 50%;
                }
            }
        }

        .collect {
            width: 80%;
            height: 140px;
            color: #fadb14;
            opacity: 0;
            display: none;
            transition: all linear .5s;

            .collect_top {
                width: 100%;
                height: 300px;
                text-align: center;
                font-size: 48px;
                line-height: 300px;
                letter-spacing: 10px;
            }

            .collect_bottom {
                width: 100%;
                height: 100px;
                text-align: center;
                margin-top: 40px;

                .collect_title {
                    font-size: 18px;
                }

                .price {
                    margin-top: 10px;
                    font-size: 40px;
                }

                .info {
                    margin-top: 36px;
                    width: 100%;
                    height: 80px;
                    line-height: 80px;
                    border-top: 1px solid skyblue;

                    a {
                        color: #fadb14;
                    }
                }
            }
        }

        .show {
            opacity: 1;
            display: block;
        }
    }
}


footer {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1200px;
    height: 40px;
    display: flex;
    justify-content: center;
    font-size: 18px;

    .copyright {
        color: skyblue;

        >a {
            color: hotpink;
        }
    }
}

@keyframes rotate {
    from {
        transform: rotateY(180deg);
    }

    to {
        transform: rotateY(360deg);
    }
}

@-webkit-keyframes bg-color {

    0% {
        background-color: #e74c3c;
    }

    20% {
        background-color: #f1c40f;
    }

    40% {
        background-color: #1abc9c;
    }

    60% {
        background-color: #3498db;
    }

    80% {
        background-color: #9b59b6;
    }

    100% {
        background-color: #e74c3c;
    }

}

@keyframes bg-color {

    0% {
        background-color: #e74c3c;
    }

    20% {
        background-color: #f1c40f;
    }

    40% {
        background-color: #1abc9c;
    }

    60% {
        background-color: #3498db;
    }

    80% {
        background-color: #9b59b6;
    }

    100% {
        background-color: #e74c3c;
    }

}